#encoding:utf-8
'''
Created on 6 avr. 2011

@author: paraita

    detection d'un mouvement: quand un mouvement est detecté
    on fait un print dans la console pour le signaler
    
    Je detecte une brusque acceleration lorsque j'ai une différence
    de valeur dépassant un certain seuil entre l'accélération précédente
    et l'accélération courante

'''

from MyWiimote import MyWiimote
import time



if __name__ == '__main__':
    
    wiimote = MyWiimote()
    wiimote.recherche("78:A2:A0:3F:0F:0C") # on cherche et on bind la premiere wiimote qu'on trouve
    wiimote.configure() # une fois la wiimote trouvée, on configure les sockets de communication
    
    wiimote.vibre(1)
    seuil = 40 # on detecte un mouvement quand on a une acceleration brusque
    sortie = False
    moving = False
    lastx,lasty,lastz = wiimote.getAcc()
    
    '''
        on secoue la wiimote pour tester, et le boutton A pour sortir
    '''
    while not wiimote.isBouttonAPressed():
        if not moving:
            x,y,z = wiimote.getAcc()
            if ((max(x,lastx) - min(x,lastx)) > seuil) or ((max(y,lasty) - min(y,lasty)) > seuil) or ((max(z,lastz) - min(z,lastz)) > seuil):
                print "MOUVEMENT DETECTé !"
                lastX = x
                lastY = y
                lastZ = z
                moving = True
        else:
            time.sleep(1)
            moving = False
    print "terminé"
        
            
        
    